package cn.sinonet.mb.processhandler;

import java.util.Map;

import jt.classic.system.ISystemException;

import org.limp.basework.SimpleBean;

import cn.sinonet.mb.message.Message;

/**
 * 报文处理过程控制器
 * <p>
 * 在报文提交至业务核心接口前,使用过程控制器对报文进行特定的业务处理
 * </p>
 * 
 * @author mido
 * 
 */
public interface MessageProcessHandler extends SimpleBean{
	/**
	 * 控制器ID
	 * @return String
	 */
	public String getId();

	/**
	 * 控制器名称
	 * @return String
	 */
	public String getName();

	/**
	 * 控制器描述
	 * @return String
	 */
	public String getDesc();

	/**
	 * 控制器参数
	 * @return String
	 */
	public String getParams();

	/**
	 * 控制器参数散列表
	 * @return Map
	 */
	public Map getParamsMap();

	/**
	 * 控制器参数值
	 * @param key
	 * @return Object
	 */
	public Object getParameter(String key);

	/**
	 * 控制器过程处理
	 * @param message 报文内容
	 * @throws ISystemException
	 */
	public void process(Message message) throws ISystemException;
}
